/******************************************teclado.h*******************************************/
/*
		 parametro: un entero, que representa el scand code
		 retorna: 1 si es, 0 sino
		 - se fija si el scode es el break code o el make code
		   de una tecla modificadora
*/
int festecmod(int letra);

/*
		 parametro: un caracter sin signo, que representa el scand code
		 retorna: 0 si es, 1 sino
		 - se fija si el scode es un break code
*/
int fbcode(unsigned char scode);

/*
		parametro: un entero que representa el scand code
			   una matriz constante con los codigos ASCII
		 retorna: un caracter, que representa el codigo ASCII
		 - se ubica en la fila de la matriz correspondiente,
		   dependiendo si el shift esta apretado o no,
		   y retorna el valor del scand code en ASCII
*/
unsigned char trad_scode(int scode, const unsigned char tabla[][83]);

/*
		 parametro: un caracter sin signo, que representa el scand code
		 retorna: un caracter, que representa el codigo ASCII 
		 - se fija si el scode es un break code o un make code o una tecla modificadora,
		   (en nuestro caso Shift), en el caso de ser un make code, lo pasa a ASCII.
		   Sino devuelve 0
*/
unsigned char scanCodeToChar(unsigned char scode);

/*
*/
unsigned char nextBufChar(buf * buffer);

/*
		parametro: un caracter sin signo, que representa el scand code
		- se fija si el scode es un break code o un make code de Shift,
		  para setear la variable global shift.
*/
void set_shift(unsigned char scode);

/*

*/
void inicializarTeclado(void);

/*
*		setea el flag del CapsLock.
*/
void set_CapsLock(unsigned char scode);

/*
*		retorna el valor de ascii con el CapsLock activado
*/
unsigned char on_CapsLock(unsigned char ascii);

/*
*		cambia el idioma del teclado. Usa como referencia el flag de la tecla f1
*/
void changelenguaje(unsigned char scode);

/*
*		devuelve el ascii correspondiente al scand code.
*/
unsigned char getAscii(unsigned char scode);

/*
*		retorna 1 si la tecla apretada es un acento y si es la primera vez que lo aprieta
*/
int esAcento(unsigned char scode);

/*
*		retorna -1 si no es una vocal. retorna 0 si es a, 1 si es e, 2 si es i, 3 si es o, 4 si es u.
*/
int esVocal(unsigned char scode);

